import { Column, Entity, PrimaryGeneratedColumn, OneToMany } from 'typeorm';
import { RoleAccessEntity } from './role_access.entity';

/*
1、模块名称: 模块名称就是左侧的主菜单名称，如果增加数据的时候是模块，那么需要指定节点类型是模块，并且选择所属模块为顶级模块
2、节点类型： 1、表示模块   2、表示菜单   3、操作
3、操作名称:如果节点类型是菜单，那么操作名称就是左侧菜单的名称。如果节点类型是操作，那么操作名称就是具体的操作名称
4、操作地址：用户实际访问的地址
5、所属模块：模块（顶级模块）  菜单和操作（父亲模块）
*/

@Entity('logger')
export class LoggerEntity {
  @PrimaryGeneratedColumn({
    type: 'int',
    name: 'id',
    comment: '主键id',
  })
  id: number;

  @Column('varchar', {
    nullable: true,
    unique: true,
    length: 50,
    name: 'name', //登录名
    comment: '登录名',
  })
  name: string | null;

  @Column('varchar', {
    nullable: true,
    name: 'ip',
    comment: 'IP地址',
  })
  ip: string | null;

  @Column('varchar', {
    nullable: true,
    length: 100,
    name: 'address',
    comment: '登录地点',
  })
  address: string | null;

  @Column('varchar', {
    nullable: true,
    length: 1024,
    name: 'brower',
    comment: '浏览器',
  })
  brower: string | null;

  @Column('timestamp', {
    nullable: false,
    default: () => 'CURRENT_TIMESTAMP',
    name: 'createdAt',
    comment: '创建时间',
  })
  createdAt: Date;

}
